🛡️ 🌐 🔒
Atelier de Professionnalisation — Année 2 · BTS SIO SISR
pfSense — Pare-feu, Redirection de port & VPN OpenVPN
Infrastructure réseau · pfSense · NAT/PAT · PKI complète · OpenVPN · Règles pare-feu
2
Parties réalisées
7
Étapes OpenVPN
4
Règles pare-feu créées
Tunnel VPN validé
📄
Compte-rendu · Partie 1
AP pfSense — Infrastructure & Redirection de port
⬇  Télécharger
📄
Compte-rendu · Partie 2
AP pfSense — VPN OpenVPN avec PKI complète
⬇  Télécharger
Contexte de l'atelier

Cet atelier consiste à déployer et configurer un pare-feu pfSense dans une infrastructure réseau virtualisée sur Proxmox, puis à mettre en place un tunnel VPN OpenVPN permettant un accès distant sécurisé au réseau interne.

Le pfSense dispose de deux interfaces : une carte WAN sur le réseau de la Livebox (192.168.1.0/24) et une carte LAN sur le VNET étudiant (172.26.206.0/24). Un serveur Apache Linux est déployé derrière le pfSense. La partie 2 introduit une PKI complète (CA, certificats serveur et utilisateur) et un serveur OpenVPN en mode accès distant avec double authentification.

Partie 1 — Infrastructure pfSense & Redirection de port
1
Installation de pfSense avec 2 cartes réseau
Infrastructure

Le réseau étudiant (VNET 172.26.206.0/24) doit être isolé et protégé par un pare-feu avant d'être exposé vers l'extérieur. Sans pfSense, aucun filtrage ni contrôle du trafic entrant/sortant n'est possible.

Déploiement depuis l'ISO netgate-installer sur Proxmox. La carte WAN est configurée en DHCP sur 192.168.1.0/24 avec réservation statique de l'IP 192.168.1.225 sur la Livebox. La carte LAN est fixée à 172.26.206.250 sur le VNET étudiant. Hostname : pfSense-206, domaine : home.arpa.

  • Créer la VM sur Proxmox avec deux interfaces réseau : net0 (vlan992) et net1 (vlan206)
  • Installer pfSense CE depuis l'ISO, assigner WAN → net0 et LAN → net1
  • Configurer l'IP LAN à 172.26.206.250/24 via le menu console
  • Accéder à l'interface web et renseigner le hostname et le domaine dans System → General Setup
  • Réserver l'IP 192.168.1.225 sur la Livebox via l'adresse MAC de l'interface WAN
✅ pfSense opérationnel — WAN et LAN configurés
2
Déploiement du serveur Apache Linux
Infrastructure

Il faut une machine cible derrière le pfSense pour valider le filtrage, la redirection de port et, plus tard, l'accès VPN. Cette machine doit pouvoir accéder à Internet via le pfSense (NAT sortant).

Déploiement d'une VM Linux Debian sur le VNET 206. Le serveur Apache est installé et une page personnalisée est créée : « Bonjour, je m'appelle Adrien Blaize / Je suis en BTS SIO ». L'interface réseau est configurée en statique avec la passerelle pfSense.

  • Configurer enp0s18 avec l'IP statique 172.26.206.80/24, passerelle 172.26.206.250
  • Installer Apache2 : apt install apache2
  • Modifier /var/www/html/index.html avec la page personnalisée
  • Vérifier l'accès Internet depuis le serveur via le pfSense (NAT sortant automatique)
✅ Serveur Apache accessible sur 172.26.206.80
3
Redirection de port NAT/PAT — Accès HTTP depuis Internet
NAT / Pare-feu

Le serveur Apache est sur un réseau privé (172.26.206.80). Pour qu'il soit accessible depuis l'extérieur, le pfSense doit rediriger les requêtes entrantes sur un port public vers ce serveur interne — c'est le principe du Port Forwarding (NAT/PAT).

Règle créée dans Firewall → NAT → Port Forward : tout trafic TCP entrant sur le port 26206 de l'interface WAN est redirigé vers 172.26.206.80:80. La Livebox relaie le port 26206 vers l'IP WAN du pfSense (192.168.1.225).

  • Firewall → NAT → Port Forward → Add
  • Interface : WAN · Protocole : TCP · Port destination : 26206
  • Redirect IP : 172.26.206.80 · Redirect Port : 80
  • pfSense crée automatiquement la règle pare-feu associée
  • Tester depuis un poste externe : http://90.65.104.37:26206 → page Apache ✅
✅ Serveur Apache accessible depuis Internet via port 26206
Partie 2 — VPN OpenVPN avec PKI complète
4
Création de l'Autorité de Certification (CA)
PKI · Sécurité

Pour mettre en place un VPN avec authentification par certificat, il faut d'abord une Autorité de Certification (CA) qui signera tous les certificats du système. Sans CA, impossible de garantir l'identité des parties qui se connectent.

Création d'une CA interne auto-signée CA-BLAIZE dans System → Certificates → Authorities. Common Name : domblaize.local, Organisation : BLAIZE & Co, localisation France / Rhône-Alpes / Lyon. Durée de validité : 10 ans.

  • System → Certificates → Authorities → Add
  • Method : Create an internal Certificate Authority
  • Renseigner Common Name, Organisation, Country (FR), State, City
  • Key length : 2048 bits · Digest : SHA256 · Lifetime : 3650 jours
✅ CA-BLAIZE créée et disponible
5
Création du certificat serveur et du certificat utilisateur
PKI · Certificats

Le serveur OpenVPN et les clients VPN doivent chacun posséder un certificat signé par la CA pour pouvoir s'authentifier mutuellement. Sans ces certificats, la liaison chiffrée SSL/TLS ne peut pas s'établir.

Deux certificats créés et signés par CA-BLAIZE : le certificat serveur Certificat-OpenVPN-AB (type Server Certificate, Common Name Firewall-Pfsense-AB) et le certificat utilisateur Certificat-VPN-Adrien généré lors de la création du compte adrien.blaize dans System → User Manager.

  • System → Certificates → Certificates → Add — Type : Server Certificate, signé par CA-BLAIZE
  • RSA 2048 bits · SHA256 · 3650 jours · Common Name : Firewall-Pfsense-AB
  • System → User Manager → Add — créer le compte adrien.blaize avec mot de passe
  • Cocher « Click to create a user certificate » → nommer Certificat-VPN-Adrien, signer par CA-BLAIZE
✅ Certificat serveur + certificat utilisateur signés par CA-BLAIZE
6
Configuration du serveur OpenVPN
VPN · Configuration

Il faut configurer le serveur VPN pour qu'il accepte les connexions des clients distants, les authentifie par certificat ET par identifiants (double facteur), et leur donne accès au réseau interne 172.26.206.0/24.

Serveur « Accès distant OpenVPN AB » créé en mode SSL/TLS + User Auth sur UDP port 20694, interface WAN. Tunnel IPv4 : 10.10.206.0/24. Réseau local redirigé : 172.26.206.0/24. Chiffrement AES-256-GCM avec CHACHA20-POLY1305 en fallback.

  • VPN → OpenVPN → Servers → Add
  • Mode : Remote Access (SSL/TLS + User Auth) · Interface : WAN · Port : 20694 · Protocole : UDP
  • CA : CA-BLAIZE · Certificat serveur : Certificat-OpenVPN-AB
  • Tunnel Network : 10.10.206.0/24 · Local Network : 172.26.206.0/24
  • Chiffrement : AES-256-GCM, CHACHA20-POLY1305 · Auth : SHA256 · DH : 2048
  • DNS domain : domblaize.local · Connexions simultanées : 2 · auth-nocache activé
✅ Serveur OpenVPN configuré sur UDP 20694
7
Création des règles de pare-feu OpenVPN
Pare-feu · Règles

Par défaut, pfSense bloque tout le trafic entrant. Sans règles explicites, les clients VPN connectés ne pourront ni joindre le serveur pour s'authentifier, ni accéder aux ressources du réseau interne.

Quatre règles créées pour autoriser précisément les flux nécessaires, sans ouvrir inutilement le réseau :

  • WAN → UDP 20694 : « Accès Distant OpenVPN » — permet aux clients de s'authentifier
  • OpenVPN → ICMP → 172.26.206.0/24 : ping vers tout le LAN pour tests de connectivité
  • OpenVPN → TCP:22 → 172.26.206.80 : accès SSH au serveur Apache
  • OpenVPN → TCP/UDP:80 → 172.26.206.80 : accès HTTP au serveur web
  • OpenVPN → TCP:3389 → 172.26.206.80 : « Autoriser RDP via VPN » — bureau à distance
✅ 4 règles pare-feu créées — principe du moindre privilège
8
Export de la configuration & validation du tunnel VPN
Tests · Validation

Installation du paquet openvpn-client-export pour générer le fichier .ovpn et l'installeur Windows pour le compte adrien.blaize. Le fichier pointe vers 90.65.104.37:20694. Connexion depuis un poste Windows — IP VPN attribuée : 10.10.206.6. La ligne Initialization Sequence Completed confirme le tunnel opérationnel.

  • Ping ✅ — ICMP vers 172.26.206.80 : 4 paquets, 0 perdu, latence 2–4 ms
  • SSH ✅ — Connexion PuTTY vers 172.26.206.80:22 validée via le tunnel
  • HTTP ✅ — Page Apache accessible via IP interne depuis le navigateur
  • RDP ✅ — Bureau à distance xRDP opérationnel (1,01 MiB de trafic constaté)
  • Wireshark ✅ — Paquets UDP chiffrés port 20694 visibles sur l'interface physique
✅ Tunnel VPN pleinement opérationnel — 5 protocoles testés
Bilan de l'atelier
Étape Réalisé Résultat
pfSense installé (2 interfaces) ✓ Fait WAN 192.168.1.225 · LAN 172.26.206.250
Serveur Apache déployé ✓ Fait Accessible sur 172.26.206.80, page personnalisée
Redirection de port NAT/PAT ✓ Fait Port 26206 → 172.26.206.80:80 depuis Internet
PKI créée (CA + 2 certificats) ✓ Fait CA-BLAIZE · Certificat serveur · Certificat utilisateur
Serveur OpenVPN configuré ✓ Fait SSL/TLS + User Auth · UDP 20694 · AES-256-GCM
Règles pare-feu ✓ Fait 5 règles · Ping, SSH, HTTP, RDP via tunnel VPN
Tunnel VPN validé ✓ Fait IP VPN 10.10.206.6 · 5 protocoles testés avec succès
Outils & technologies utilisés
pfSense CE OpenVPN PKI / CA SSL/TLS Apache2 Debian Linux NAT/PAT Wireshark PuTTY / SSH xRDP Proxmox VE